1. Field of the Invention
The present invention is related to the field of packet telephony, and more specifically to software and a method for preventing overload in a packet telephony gateway.
2. Description of the Related Art
In a packet telephony gateway, there are typically call-handling resources, such as telephony trunk interfaces and Digital Signal Processors (DSPs), and one or more Central Processing Units (CPUs). Each incoming call that the telephony gateway accepts consumes call-handling resources of the system. In addition, it generates data traffic that must be handed by the CPU or CPUs.
The prior art has correctly discerned that a packet telephony gateway is unable to process new calls when all call-handling resources are exhausted. Accordingly there are methods for handling the case where the call-handling resources are exhausted.
However, it is also possible that a central processing unit will reach maximum utilization before other call-handling resources are exhausted. When this happens, the CPU or CPUs cannot process all of the data packets in a timely manner. Accordingly, the CPU will start to ignore (“drop”) those packets that it cannot process. Dropping of these packets degrades the sound quality of all the calls being handed by the packet telephony gateway.
In extreme cases, a CPU may be so overloaded that it cannot complete signaling processes that are time-sensitive to the external Public Switched Telephone Network (PSTN). This causes the PSTN device to which it is connected to drop or disconnect all calls.
Disconnected calls are a problem. At the very least, they generate customer dissatisfaction when billing is received. The situation of many disconnected calls also causes disruption in the operation of the PSTN, potentially causing faults in other PSTN equipment.